Figura # 1: Lógica
del uso de las ACL en un router
(Wendell Odom, 2002)
Una de las primeras tareas que nuestros directivos nos exigen
cuando comenzamos en nuestro nuevo empleo repleto
de enlaces WAN a través de toda la provincia como puede
ser un ejemplo en Cuba, la
Sucursal CIMEX en Ciego
de Ávila; es que los sistemas
económicos funcionen rápido, para que los
resultados de los balances económicos puedan estar en
tiempo y forma
los exige la presidencia de la corporación. Así
cuado se gestiona la red con un sistema de
monitoreo de tráfico, como puede ser NETFLOW
7.0[10] para routers cisco, en muchas ocasiones notamos
tráficos indeseados que hacen que precisamente estos
sistemas
contables como SENTAI14 funcionen muy
lentamente al estar congestionado el enlace WAN de comunicaciones. Este hecho es una responsabilidad del administrador de
red evitarlo y a pesar de que existen técnicas
QoS15 que pueden evitar esto, en Cuba
debido al alto precio de los
enlaces arrendados y por ende de su bajo ancho de banda, muchas
veces 64 Kbps, comparado con el tráfico necesario para los
servicios que
se brindan hoy en día como: FTP16,
WWW17, Messenger18,
LotusNotes19, etc; este tipo de
técnicas no es muy útil en estos casos y es
necesario que el administrador de la red se conecte al
router más cercano desde donde se
está originando el tráfico no deseado, que puede
ser desde un usuario de una unidad que está descargando el
último video de Ricardo
Arjona desde la PC de un amigo de otra entidad conectada, hasta
uno de los usuarios comerciales que luego de haber estado de
vacaciones quiere actualizar su sistema de estadísticas de ventas,
directamente desde el servidor central,
etc. Todos estos tráficos indeseables que congestionan
nuestros enlaces son fácilmente detectables mediante un
sistema adecuando de monitoreo y en ese caso la respuesta del
administrador es casi siempre la misma. Crear una ACL que bloquee
ese tráfico en el router más cercano
(Wendell Odom, 2002). Es importante esta última parte
porque de crearse la ACL en otro router distante, entonces el
tráfico a través del enlace WAN seguirá
congestionando el mismo y será filtrado solo cuando llega
al otro extremo de este ejemplo (fig #2).
Figura #2: Tráfico indeseado filtrado en el
extremo más lejano.
Existen varios tipos de ACL, pero las más usadas en
estos casos son las Listas de Acceso estándar (Standard) y
las extendidas (extended) (Wendell Odom, 2002). El primer tipo
permite solo filtrar el tráfico entrante, basándose
para esto solamente en la información de la cabecera IP. Es decir
en la dirección IP fuente. El segundo tipo
permite este último requisito tan importante y
además permite especificar otras características
como pueden ser el puerto fuente y destino, el protocolo,
ejemplo TCP, ICMP, UDP; etc. Así cuando queremos crear una
ACL lo primero que tenemos que hacer es conectarnos al router:
ejemplo, usando simplemente el comando: telnet
<ip-router> y luego de especificar las credenciales
de entrada, si no estamos en el modo privilegiado tendremos que
ejecutar el comando enable seguidamente el router
nos pedirá la contraseña para entrar al modo
privilegiado, si está bien configurado claro, sino, no
pedirá clave alguna y luego de esto estaremos en ese modo,
lo cual será indicado por el pron del router:
Router_R#. Allí ejecutaremos el siguiente comando
para que nos muestre las ACL que hay creadas ya en el router con
el objetivo de no
modificar estas ni cambiarlas en caso de escoger el mismo
identificador para la nueva que vamos a crear, por error como
muestra el
ejemplo:
Ejemplo #1: Mostrando las ACL que existen en un
router
Router_R#sh access-list
Standard IP access list
5
deny 192.168.10.23 0.0.0.0
permit any
Standard IP access list 6
deny 192.168.10.0 0.0.0.255
6 permit any
Extended IP access list 101
deny tcp 192.168.10.0 0.0.0.255 192.168.11.254 0.0.0.0
eq 445
permit ip any any
Como se muestra en el ejemplo, el router tiene ya creadas
algunas ACL, que están identificadas por su número
correspondiente, las ACL estándar tienen un rango
numérico que las identifica y va desde el 1 hasta el 99
(Wendell Odom, 2002) y las ACL extendidas tiene otro rango de
números que la identifica que va desde el 100 hasta el 199
(Wendell Odom, 2002). Así es como nos damos cuenta que la
ACL 6 es estándar y la ACL 101 es extendida. Además
como podemos ver una presenta menos características de
filtrado que la otra como expresamos anteriormente. En este caso
la ACL 6 está impidiendo el tráfico proveniente de
la subred: 192.168.10.0 y la ACL 101 está filtrando el
tráfico de la misma subred hacia el IP 912.168.11.254,
hacia el puerto destino 445 (SMB27). Es
decir está evitando que se conecten ha alguna carpeta
compartida en ese IP, desde la subred indicada; de existir
otros servicios en esa IP, no estrían limitados. Por este
motivo si quisiéramos crear una ACL para bloquear todo el
trafico generado por la IP 192.168.10.45 tendríamos que
entra primero a modo de configuración del router
ejecutando el comando:
Ruter_R#configure termial
Al entrar en este modo podríamos ejecutar los
siguientes comandos:
Router_R(Config)#access-list 7 deny 192.168.10.45
0.0.0.0
Router_R(Config)#access-list 7 permit 0.0.0.0
255.255.255.255
Router_R(Config)#interface Ethernet
0
Router_R(Config-If)#Ip access-group 7 in
Router_R(Config-if)#exit
Al final para volver al modo privilegiado ejecutamos el
comando: exit.
El ejemplo anterior muestra como, para crear una ACL se
usa el comando access-list (Wendell Odom, 2002)
seguidamente se escribe un número que la identifica y
clasifica en estándar o extendida en dependencia de su
rango como ya explicamos anteriormente. Luego podemos escribir la
palabra deny que corresponderá a la acción
de denegar el tráfico que coincida con las
características que se especifiquen o la palabra
permit que hará la operación inversa.
Es decir permitir el tráfico. Luego si estamos creando una
ACL estándar especificaremos primeramente el IP de
la computadora
o la subred que queremos bloquear y seguidamente especificaremos
lo que cisco llama el Wildcard Mask20
(Wendell Odom, 2002), que es como una máscara binaria
invertida, una forma de decir si estamos especificando un solo ip
o una subred completa. En el caso de que sea un solo IP el que
queremos bloquear o permitir el Wildcard (Wellden Odom,
2000) siempre será el mismo 0.0.0.0, en el caso de una
subred es diferente, porque debemos especificar un
Wildcard en dependencia de la máscara que define
esa subred. Por ejemplo en subredes de máscara
255.255.255.0 el Wildcard es 0.0.0.255. Así podemos
decir que el Wildcard es el inverso binario, de la
máscara. Un XOR 255.255.255.255 de la mascara de la red.
Lo que convertirá los bit 0 a 1 y los 1 a cero. Ejemplo si
la subred es 192.168.10.0/27 lo que es lo mismo decir con
máscara 255.255.255.224 (11111111. 11111111.
11111111.11100000). Entonces el Wildcard de esa
máscara sería: 0.0.0.31 (000000000.000000000.
00000000.00011111). En caso de querer permitir el tráfico
de toda la red como se especifica en el ejemplo anterior
usaríamos entonces el Wildcard completo: 255.255.255.255,
con el número IP 0.0.0.0 que identifica todas las redes posibles.
Nota: Es importante destacar que cada ACL tiene una
línea invisible al final de ella que niega todo el
tráfico. Sería algo así como deny
0.0.0.0 255.255.255.255 (Wendell Odom, 2002) por lo que
luego de crear todas las reglas que queremos agregar a la ACL es
necesario siempre cerciorarnos que las funcionalidades del router
no quedarán bloqueadas también. Para esto se crea
la regla permisiva: permit 0.0.0.0 255.255.255.255
que anula la acción de la última regla invisible.
De aquí salta otra cuestión muy importante sobre
las ACL y es que cada regla que se crea es revisada en el ese
orden consecutivo, de arriba hacia abajo lo que implica que si
denegamos algo en una regla por debajo de otra que lo permite el
tráfico pasará a través de la interfase,
porque el analizador lógico no llegará a comparar
la regla debajo. Este tipo de errores es muy frecuente en los
administradores inexpertos y debe ser atendido con mucho
cuidado.
Al crear una ACL extendida el procedimiento es
el mismo solo que aumentan las características de las
reglas que se pueden crear, como podemos ver en el ejemplo #1
luego de la palabra deny se especifica entonces el
protocolo, luego se especifica la dirección fuente, el
wildcard de la dirección fuente y seguidamente se puede
especificar opcionalmente el puerto fuente, estableciendo algunos
operadores como eq á equal(igual)
gtá(greather than), etc; seguido del número
del puerto que se quiere filtrar. Luego se especifica la ip
destino, el wildcard destino y opcionalmente el puerto destino
como en el ejemplo 1 donde se filtra el puerto 445 (eq
445).
Así con este conocimiento y
con la información del tráfico en la mano podemos
conectarnos a cualquier router de nuestra red y bloquear el
tráfico que nos esté congestionando el canal de
comunicaciones permitiendo así que los sistemas contables
funciones
adecuadamente y todo el mundo se sienta feliz con nuestro
trabajo,
aunque esos indisciplinados del tráfico se queden algunos
días sin comunicación o sea requeridos por sus
superiores luego de pasar el correspondiente correo a cada
implicado con la información obtenida del sistema de
gestión.
CREANDO ACL PARA
EVITAR ATAQUES EXTERNOS
El apartado anterior dejó claro que las ACL nos
permiten bloquear el tráfico basándonos en
características de los protocolos de
comunicación usados para crear el mismo. Así para
evitar al máximo los ataques, el tráfico que no sea
explícitamente permitido debe ser denegado (Gerrard
Mourani, 2002). Usando la información de la
configuración de nuestra red y conocimientos sobre estos
protocolos podemos crear ACL que contribuyan a mejorar la
seguridad de
esta y así evitar ataques contra nuestros servidores y
firewall21. Una de las primeras cosas que
debemos saber con exactitud es cuantos servicios necesitan
intercambiar información con el exterior y cuales son las
características de estos. Así por ejemplo podemos
mencionar algunos que son indispensables para cualquier red del
mundo. El primero de ellos es el servicio
DNS que acepta
encuestas por
el puerto el 53 y usa para la transmisión de datos el
protocolo UDP. Este servicio permite que nuestros servidores
encuesten los servidores de nuestros ISP22
en busca de direcciones desconocidas en su base de datos.
Por otra parte los servidores DNS de nuestros ISP
tendrán que encuestar nuestros servidores DNS para
poder extraer
informaciones importantes como el record MX encargado de
localizar el servidor de correo entrante de la empresa.
También tendremos que garantizar que los servidores de
correo del mundo sean capaces de conectarse al servidor de correo
entrante nuestro y para esto usarán el puerto destino 25
asignado al protocolo SMTP23 perteneciente
a la familia
TCP. Otro de los tráficos importantes que nuestro router
tendrá que dejar pasar será sin duda alguna el
perteneciente al servidor WWW, donde estará publicado el
sitio Web de la
empresa. Para
esto las conexiones entrantes usarán el protocolo http
perteneciente a la familia TCP y que
usa el puerto 80 como puerto destino. Si existiera un servidor
Proxy–Firewall
detrás de nuestro router como única computadora
con IP público además del router entonces nuestras
reglas estarían orientadas a permitir todos estos
tráficos hacia y desde esa computadora como muestra el
ejemplo #2.
Ejemplo #2: Configurando ACL de entrada y salida
Router_R>enable
password:******
Router_R#sh access-list
Router_R#configure terminal
Router_R(config)#access-list 101 permit udp
200.145.1.0 0.0.0.255 200.145.20.1 0.0.0.0 eq 53
Router_R(config)#access-list 101 permit tcp 0.0.0.0
255.255.255.255 200.145.20.1 eq 25
Router_R(config)#access-list 101 permit tcp 0.0.0.0
255.255.255.255 200.145.20.1 eq 80
Router_R(config)#access-list 101 permit tcp
0.0.0.0 255.255.255.255 eq 80 200.145.20.1 0.0.0.0 gt
1024
Router_R(config)#access-list 101 permit udp
200.145.1.0 0.0.0.255 eq 53 200.145.20.1 0.0.0.0 gt 1024
Router_R(config)#access-list 101 permit ospf
200.145.1.0 0.0.0.255 200.145.20.254
Router_R(config)# interface serial 0
Router_R(conf-if)#ip access-group 101 in
Router_R(conf-if)#exit
Router_R(config)#access-list 102 permit udp
200.145.20.1 0.0.0.0 200.145.1.0 0.0.0.255 eq 53
Router_R(config)#access-list 102 permit tcp 200.145.20.1
0.0.0.0 0.0.0.0 255.255.255.255 eq 25
Router_R(config)#access-list 102 permit tcp 200.145.20.1
0.0.0.0 0.0.0.0 255.255.255.255 eq 80
Router_R(config)#access-list 102 permit ospf 200.145.20.254
0.0.0.0 200.145.1.0 0.0.0.255
Router_R(config)#interface serial 0
Router_R(conf-if)#ip access-group 102 out
Router_R(conf-if)#exit
Según apreciamos en el ejemplo se permite además
el tráfico del protocolo OSPF28
(Clare Gough, 2003) que es uno de los protocolos que permite
actualizar la información de ruteo de forma dinámica. Este protocolo es propiedad de
CISCO, en algunos routers puede no aparecer y ser entonces
RIP30 (Clare Gough, 2003) o el ruteo
estático el responsable de este trabajo. Por otra parte
como podemos notar del ejemplo anterior se deduce que
ningún otro tráfico podrá entrar a nuestra
red a no ser ese que hemos especificado en nuestras reglas de
entrada. Así mismo no podrá salir otro que no se
encuentre entre los especificados en la ACL de salida. Esto nos
brinda mucha seguridad ya que ningún atacante a no ser que
reconfigure el router primero, podrá experimentar otro
tipo de tráfico hacia nuestra red. Otra de las reglas que
salta a la vista es la que permite un tráfico hacia el
servidor Proxy-firewall por un puerto superior al 1024. Es
evidente que este tráfico casi siempre será la
respuesta de un servidor HTTP24 o un
servidor DNS25 y por esta razón es
que el puerto que abrirá el prioxy-firewall para recibirla
será mayor a los llamados "puertos bien conocidos"
(RFC-1700).
ROUTER O
FIREWALL
Una vez que revisamos estas capacidades nos damos cuenta que
las ACL son muy parecidas a reglas de un firewall como por
ejemplo el IP-Tables de Linux. Por eso
nos preguntamos ¿Será posible usar el router como
un firewall? La respuesta es, sí. Aunque para que un
router tenga incluido las funcionalidades de un firewall es
necesario actualizar su IOS26 (su sistema
operativo) para esto se descarga un IOS que tenga las
funcionalidades de firewall del sitio de CISCO y luego de
realizar el proceso de
actualización del mismo tendremos entonces las
característica deseadas. Para saber si un router tiene un
IOS de firewall se entra al modo de configuración y se
teclea el comando: Router_R(config)#ip
inspect ? (David Davis, 2008)
(Todd Lammle Carl Timm, 2003).Con lo que el router debe responder
con las características específicas para esa
v versión del router. Si por el
contrario despliega un mensaje de error diciendo que el comando
tecleado no es válido entonces no tenemos un IOS de
firewall todavía ejecutando. Por otra parte adicionalmente
a la seguridad que contienen los IOS de firewall, estos
hacen mucho más fácil la configuración de
las reglas de seguridad permitiendo la entrada de tráfico
que ha sido generado en respuesta a otro que ha salido de nuestra
red. Así las reglas anteriores que permitan entrar
tráfico a nuestra red hacia un puerto superior a 1024, ya
no serán necesarias. El IOS de firewall permitirá
ese tráfico basado en la información que posee a
partir del tráfico generado desde dentro de la red.
Además la inspección del tráfico puede
detectar ataques conocidos sobre algunos protocolos como TCP,
FTP, etc como
se muestra en el ejemplo #3:
Ejemplo #3: Configurando un router con IOS de
firewall
Router_R#configure terminal
Router_R(config)#access-list 103 permit udp
200.145.1.0 0.0.0.255 200.145.20.1 0.0.0.0 eq 53
Router_R(config)#access-list 103 permit tcp 0.0.0.0
255.255.255.255 200.145.20.1 eq 25
Router_R(config)#access-list 103 permit tcp 0.0.0.0
255.255.255.255 200.145.20.1 eq 80
Router_R(config)#access-list 103 permit ospf
200.145.1.0 0.0.0.255 200.145.20.254
Router_R(config)#access-list 103 deny ip any
any
Router_R(config)#interface FastEthernet 0
Router_R(config-if)#ip access-group 103 in
Router_R(config-if)#exit
Router_R(config)#ip inspect name myfirewall
smtp
Router_R(config)#ip inspect name myfirewall
http
Router_R(config)#ip inspect name myfirewall
udp
Router_R(config)#ip inspect name myfirewall
tcp
Router_R(config)#interface FastEthernet 0
Router_R(config-if)#ip inspect myfirewall
out
Router_R(config-if)#exit
Router_R(config)#access-list 104 permit udp
200.145.20.1 0.0.0.0 200.145.1.0 0.0.0.255 eq 53
Router_R(config)#access-list 104 permit tcp 200.145.20.1
0.0.0.0 0.0.0.0 255.255.255.255 eq 25
Router_R(config)#access-list 104 permit tcp 200.145.20.1
0.0.0.0 0.0.0.0 255.255.255.255 eq 80
Router_R(config)#access-list 104 permit ospf 200.145.20.254
0.0.0.0 200.145.1.0 0.0.0.255
Router_R(config)#interface serial 0
Router_R(conf-if)#ip access-group 104 out
Es importante agregar que CISCO fabrica Firewall profesionales
que pueden ser usados en vez de los routers, entre estos podemos
mencionar la familia PIX Firewall[6] que han sido sustituidos por
los modernos ASA Firewall[6]. Estos últimos han sido
equipados con novedosas técnicas de detección de
intrusos que pueden hacer frente a ataques DoS y otros
implementando acciones
correctivas que pueden dejar al atacante sin armas o deseo de
seguir hostigando a nuestra red.
CONCLUSIONES Y
RECOMENDACIONES
- La configuración adecuada de los routers puede
incrementar en gran medida la seguridad de la red de una empresa al
ser éstos casi siempre el primer dispositivo con salida
y entrada del exterior. - El uso de IOS de firewall incrementa aún más
estas medidas y facilita la configuración de estos
dispositivos evitando en muchas ocasiones errores humanos y la
necesidad de poseer un exacto conocimiento de los protocolos de
red. - La configuración de ACL necesita de un conocimiento
previo de la topología y servicios de la red donde se
aplicarán así como de las características
de éstos, como puerto, protocolos que se usan,
etc.
BIBLIOGRAFÍA
1- Wendell Odom CCIE #1624, 2002, CCNA
Exam 640-607 Certification Guide, Cisco Press 201 West
103rd Street Indianapolis IN 46290 USA, ISBN:
1-58720-055-4
2- Clare Gough CCIE # 2893, 2003, CCNP
BSCI Exam Certification Guide, Cisco Press 800 East
96th Street Indianapolis IN 46290 USA, ISBN:
1-58720-085-6
3- Todd Lammle Carl Timm CCIE #7149,
2003, CCSP Securing Cisco IOS Networks Study Guide, SYBEX Inc,
1151 Marina Village Parkway, Alameda, CA 94501, San Francisco,
London, ISBN: 0-7821-4231-1
4- Gerard Mourani, 2002, Securing and
Optimizing Linux
5- David Davis, 2008, Protect your
nework with the cisco IOS Firewall, Newwork Admin Techniques,
http://www.techguides.net
6- http://www.cisco.com
7- http://www.monografias.com/trabajos13/modosi/modosi.shtml
8- http://www.monografias.com/trabajos42/configurar-routers/configurar-routers2.shtml?monosearch
9-
/trabajos42/configurar-routers/configurar-routers.shtml?monosearch
10-
http://manageengine.adventnet.com/products/netflow/help/installation/install-netflow-analyzer.html
GLOSARIO DE TÉRMINOS
- Router: Dispositivo de red capaz conectar redes de
distintos rangos IP mediante protocolos y técnicas de
ruteo. - LAN: (Local Area Network) Red de Area Local que
normalmente abarca el espacio de una oficina o un
edificio. - WAN: (Wide Area Network) Red de area amplia que
nomrmalmente se encuentra esparcida a través de varias
ciudades o edificios. - Ethernet: Protocolo de comunicación usado en
redes con topología en estrella o bus. - WIC-1T: Interface de comunicación serial para
routers cisco. Se usa para conectarse a la red del ISP, casi
siempre. - Subinterfaces: Son interfaces lógicas que se
crean en el router y de cierta forma comparten el canal
físico de la interfase física a la que
pertenecen. Se usa mucho en la configuración de enlaces
frame-relay, punto a punto. - Fame-relay: Protocolo de comunicaciones capa 2 capaz
de transmitir otros protocolos superiores en sus tramas. Se usa
en conexiones arrendadas. - Trunk: Enlaces mediante los cuales se pueden
conectar switch y
router de forma tal que el ancho de banda entre estos
puede aunemtar al usar varios puertos como si fueran uno solo.
Admás permite enviar todo el tráfico de las VLANs
creadas por un solo puerto al router permitiendo que este
decida como rutear los paquetes. - Switch: Dispositivo de red capaz de conmutar
paquetes que provienen de puertos diferentes. Es decir permite
la conexión de computadoras
en una misma LAN. - VLAN: (Virtual Local Area Network) Como su nombre lo
indica especifica un LAN virtual como si fuera real.
Normalmente se hace configurando Switch que tienen este tipo de
capacidades. - ACL: (Access Control
List) Listas de control de Acceso. Se usan para filtrar
tráfico indeseado asugurando así redes de
computadoras. - Ruteo: Vulgarmente se le llama al proceso de
encaminar los paquetes. Al proceso que se lleva a cabo en el
router para decidir por cual puerta física debe salir el
paquete en cuestión. - IP: (Internet
Protocol) Protocolo Internet, capaz de el direccionamiento de
las computadoras conectadas a Internet mediante las llamadas
direcciones IP que no son más que cuatro números
separados por puntos eje: 192.168.10.1 - SENTAI: Sistema de gestión contable.
- QoS:(Quality of Service) Calidad de
Servicio. Protocolo capaz de dar prioridad a a otros
protocolos según configuración en router. - FTP: (File Transfer Protocol) Protocolo de
transferencia de Archivos. Muy
usado para transferir archivos a través de sitios en
Internet e Intranets. - WWW: (World Wide
Web) La red amplia mundial o como también se le
llama a las páginas y sitios publicados en
Internet. - Messenger: Protocolo de comunicación que
permite enviar y recibir mensajes cortos en un tiempo casi
real. - LotusNotes: Sistema producido por IBM y que permite
la implantación de otros sistemas contables o de otra
índole, sobre su infraestructura. - Wildcard Mask: Mascara usada para especificar redes
o computadoras en una ACL. - Firewall: Dispositivo de red o sistema capaz de
bloquear y filtrar el tráfico en una red. - ISP:(Internet Service Provider) Proveedor de
Servicio de Internet. En Cuba ETECSA es el principal en la
mayorías de los servicios telefónicos y de
Internet. - SMTP: (Simple Mail Transfer Protocol) Protocolo de
transferencia de mensajes. Usado por los servidores de correo
el electrónico para el intercambio de
mensajería. - HTTP: (Hypertext Tranfer Protocol) Protocolo de
Transferencia de Hipertexto. Es el encargado de presentar las
páginas
WEB al usuario. - DNS: (Domain Name Service) Servicio de
Nombres de Dominio. Es el
encargado de traducir los nombre de dominio en direcciones IP y
viceversa. - IOS: Sistema operativo de los router.
- SMB: (Server Message Block) Servcio creado por
Microsoft
para compartir carpetas, archivos e impresoras. - OSPF: Protocolo usado por los router para actualizar
sus tablas de ruteo y obtención de la ruta adecuada para
cada paquete. Este protocolo es propiedad de CISCO. - CISCO: Compañía productora de
equipamiento de red que incluye router. (Líder
en el mercado)
Autor:
Ing. Erith E. Pérez Gallardo
Página anterior | Volver al principio del trabajo | Página siguiente |